home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / WebSites / MailingLists / AMOSLIST.0599 / 000021_nobody_Wed May 5 06:42:40 1999.msg < prev    next >
Internet Message Format  |  1999-06-01  |  2KB

  1. Received: from onelist.com (pop.onelist.com [209.207.164.13])
  2.     by osf1.gmu.edu (8.8.8/8.8.8) with SMTP id GAA18314
  3.     for <mcox4@osf1.gmu.edu>; Wed, 5 May 1999 06:42:40 -0400 (EDT)
  4. Received: (qmail 21039 invoked by alias); 5 May 1999 10:42:51 -0000
  5. Received: (qmail 21022 invoked from network); 5 May 1999 10:42:49 -0000
  6. Received: from unknown (HELO saintolaves.demon.co.uk) (195.99.45.58) by pop.onelist.com with SMTP; 5 May 1999 10:42:49 -0000
  7. Date: Wed,  5 May 1999 11:46:58 EST
  8. Message-Id: <199905051146.AA24510676@saintolaves.demon.co.uk>
  9. From: <cheila@saintolaves.demon.co.uk>
  10. X-Sender: <cheila@saintolaves.demon.co.uk>
  11. To: amos-list@onelist.com
  12. X-Mailer: <IMail v4.06>
  13. Mailing-List: list amos-list@onelist.com; contact amos-list-owner@onelist.com
  14. Delivered-To: mailing list amos-list@onelist.com
  15. Precedence: bulk
  16. List-Unsubscribe: <mailto:amos-list-unsubscribe@ONElist.com>
  17. Reply-to: amos-list@onelist.com
  18. Mime-Version: 1.0
  19. Content-Type: text/plain; charset=us-ascii
  20. Subject: Re: [amos-list] point in polygon
  21. Status: O
  22. X-Status: 
  23.  
  24. From: <cheila@saintolaves.demon.co.uk>
  25.  
  26. Hi
  27.  
  28. The simplest way to check if a point is in a polygon is to
  29. draw a line (in any direction) from your point to way 
  30. outside the shape.  If the number of intersections of this
  31. line with edges of the polygon is odd, then you are in
  32. the shape, otherwise outside (mmm, topology...).  You
  33. might have to be careful about corners though, you might
  34. slip through a non-existent gap or cross twice because of
  35. rounding errors.
  36.  
  37. This might be slow, but you could always pick a simple line
  38. (always horizontal, say) and optimise the line intersection
  39. calculation for that (check y bounding box first, and only
  40. one edge of x box).
  41.  
  42. I did read a good book on it ages ago, with all the algorithms
  43. you would ever need (including line drawing, polygon filling,
  44. drawing circles, splines, and other mad stuff in 2d and 3d),
  45. I think it was called Fundamentals of Interactive Computer
  46. Graphics but I'm not sure.
  47.  
  48. Incidentally, are you using integers or floats?  I'm not too
  49. good at using integers (need to many "tricks"), but floats
  50. are slow.
  51.  
  52. Claude
  53.  
  54.  
  55. ------------------------------------------------------------------------
  56. Join the Star Wars craze!
  57. http://www.onelist.com
  58. Set up your Star Wars list at ONElist.
  59. ------------------------------------------------------------------------
  60. Official AMOS WWW: http://members.xoom.com/AmosFactory/front.html